import vm from 'main';
import {getLoginUserInfo as getLoginUser} from "@/config/api";
//路径你自己配你的

//检擦是否登录，是否需要跳转
export function checkLogin(isNavigateTo) {
    const isLogin = vm.$store.getters.checkLogin;
    if (!isLogin && isNavigateTo) {
        uni.navigateTo({
            url: "/pages/login/login"
        })
    }
    return isLogin;
}

//全局获取当前用户信息
/**
 * 全局获取当前用户信息到 状态管理vuex
 * @param call 回调函数
 */
export function getLoginUserInfo(call) {
    getLoginUser().then(info => {
        //保持用户信息
        vm.$store.dispatch("login", info.user);

        if(call) {
            call()
        }
    })
}

/**
 * 401 token失效的显示模态框
 *
 * @param isClearToken 是否需要清除掉token
 */
export function tokenExpShowModal(isClearToken){
    //弹窗提示
    uni.showModal({
        title: '提示',
        showCancel: true,
        content: 'token凭证失效，请重新登录',
        success: function (res) {
            if(isClearToken) {
                //清除本地无用的token
                vm.$store.dispatch("clearToken");
            }

            if (res.confirm) {
                uni.navigateTo({url: '/pages/login/login'})
                console.log('用户点击确定');
            } else if (res.cancel) {
                console.log('用户点击取消');
            }
        }
    });
}

/**
 * 获取 本地选择的 mapData
 * @returns {any}
 */
export function getSelectedMapData(){
    const mapData = uni.getStorageSync('mapData');
    if(mapData){
        uni.removeStorageSync("mapData")
        //取出后删除，避免数据重复
    }
    return mapData;
}

//去到其他页面
export function goPage(path) {
    uni.navigateTo({
        url: path
    })
}

//获取图片url
export function getImageUrl(imgUrls) {
    var splits = imgUrls.split("、");
    if (splits.length > 0) {
        if (hasRequestProtocol(splits[0])) {
            return splits[0];
        }
        return vm.$$baseFileUrl + splits[0];
    }
}
//是否包含请求协议
export function hasRequestProtocol(url) {
    return /^([a-zA-Z]+:\/\/)/.test(url);
}
